home *** CD-ROM | disk | FTP | other *** search
- Date: Sat, 2 Jul 94 00:35 CDT
- From: ekl@sdf.lonestar.org (Evan K. Langlois)
- To: gem-list@world.std.com
- Subject: A Revised (slightly) Proposal
- Precedence: bulk
-
- In addition to keyboard short-cuts we need standardized panels (dialogs),
- standard menu positions, and other such guidelines, like how a block
- should be selected, how to select discontinous blocks, application data
- linkage (no GEM app currently supports this I believe), and what happens
- when you type and a block already exists. The only way to satify everyone
- is to make a standard that allows user configuration. The NeXT guide specifies
- that short-cuts can be changed. I submit the following based on 3 standards,
- in order - Atari Compendium, NeXT Guidelines (an extension of apple), and
- finally this list. You do NOT have to implement everything in here, and
- the guideline also specfifies how to NOT use the guideline! Also, the
- APP_DEFS.SYS file mentioned here and options such as the block=big-cursor
- and other weirdness, or country-specific options and such should be
- supplied in here. The user should be able to configure everything globally
- and should be be able to configure each app separately if he/she so desires.
- We also need to discuss mouse pointers and cursor types, and it is possible
- that these would be in the APP_DEFS.SYS too!
-
- Function Keys are app-dependant, normally used for macros or execution of
- external programs. Possible are normal, shift, control, alt, shift/control,
- shift/alt, but NOT any combination of with alt and control at once.
-
- ===========================================================================
-
- The following is based on the NeXTStep User Interface Guidelines 3.2
- Chapter 3: User Actions: The Keyboard and Mouse. It assumes that user
- preferences are stored in the APP_DEFS.SYS file which is searched for
- in the following directories, in order, "U:\etc", "C:\multitos", "C:\mint",
- "C:\system", "C:\", and finally the current working directory. "A:"
- should be substituted for "C:" if the user booted from floppy. Also, the
- current working directory will be searched even if the file is already
- found in another directory and these settings will over-ride settings
- previously found.
-
- Choosing Keyboard Alternatives
-
- Initially, until the user specifies a different preference, applications
- should follow the guidelines for keyboard alternatives described in this
- section. Users can use the Preferences application to alter the keyboard
- alternatives for every application at once. You're also encouraged to let
- the user choose and change keyboard alternatives using your application's
- Preferences panel.
-
- Some sort of "Preferences" application should be generated by the gem-list.
- To change the global preferences, run the app, and to change the preferences
- of a specific application, pass that application's name on the command line.
- This can be run from another GEM application, concurrently if your AES allows
- it to provide a consistent interface for editing the APP-DEFS.SYS file.
-
- A global usage "Install" application could also set paths and options in
- this file as well as copy the files to the proper destination, make
- directories, install icons in the desktop RSC file, and also de-install
- all these options and icons and delete the proper files when needed.
- By allowing the user to change keys globally he can conform best to the
- application/standards that he uses most, so if he want to have ^U close
- a window the user can change it himself (although he will have to find
- a new key for underline!)
-
- Code will also be provided (possibly a whole library) for parsing the file
- and for utilizing the information contained within.
-
- The guidelines place keyboard alternatives into three groups--reserved,
- required, and recommended. These groups are listed in the tables that fol-
- low along with the commands they perform and the menus where the commands
- are located.
-
- Note that "Command" is normally CONTROL, since ATARI has reserved some ALT
- combinations and others are used to generate special keys. Terminal programs
- should over-ride global settings in an application specific line so that
- ALT is used as the Command key for that app. Shift is the up-arrow (ascii 1)
- In menus, the caret "^" denotes CONTROL and the window closer should be used
- for ALT, and an equivalence character (ascii 240) in a boxchar object should
- be used for drop-down lists. The use of the word "panel" refers to a
- a standardized dialog which the gem-list should provide code and RSCs for.
- The right arrow shows a cascading menu, the delete character (the delta) is
- for the iconify/miniturize gadget and buttons that show >> expand the dialog
- while << shortens a dialog (for advanced and novice user options).
-
- Any function below is assumed to work on upon the currently selected object,
- and if no object is selected, it is global. So HIDE, is hide the currently
- selected object, or hide the application. Show Info gives information about
- the object, or about the application.
-
- Reserved Keyboard Alternatives
-
- Reserved keyboard alternatives must be used for the commands that follow,
- and cannot be used for any others. If your application implements the
- functionality that a command represents, it must provide both the command
- and the keyboard alternative.
-
- For example, if your application opens files, it must have an Open command
- with Command-o as the keyboard alternative. If your application doesn't
- allow the user to open files, it won't have an Open command and must not
- use Command-o as a keyboard alternative.
-
- Keyboard Command Menu
- ------------------------------------------------------
- HELP Access Help Help
- shift HELP Context-senstive Help Help
- ALT HELP Screen Dump <<no menu>>
- UNDO Undo last command Edit
- ^UNDO Redo last command Edit
- shift ^UNDO Multi-level UNDO Edit
- ^A Select All Edit
- shift ^A De-select All Edit
- ^C Copy Edit
- ^H Hide File
- shift ^H Un_Hide Edit
- ^N New File
- ^O Open File
- ^P Print File
- ^Q Quit File
- ^S Save File
- ^V Paste Edit
- ^W Close File
- shift ^W Abandon + Reload File
- ^X Cut Edit
- TAB Cycle Object Selection <<no menu>>
- TAB type-writer style tab <<no menu>>
- ^TAB Cycle Windows Window
- ALT TAB Cycle Apps <<reserved in MultiTOS>>
- ^ ALT \ Emergeny Kill App! <<reserved in MiNT/MultiTOS>>
- ^ ALT C Abort Now! <<reserved in MiNT/MultiTOS>>
-
- The following are editing keys, for both text apps, and maybe dialogs :
-
- ^ BKSP Delete word to left <<none>>
- ^ DEL Delete word to right <<none>>
- ^ ARROW Move left/right one word <<none>>
- ^ CLRHOME Move to start of doc. <<none>>
- shift ^DEL Delete to end of line <<none>>
- shift ^BS Delete from beg of line <<none>>
- shift LEFT Move to begin. of line <<none>>
- shift RIGHT Move to end of line <<none>>
- shift UP Move up one page <<none>>
- shift DOWN Move down one page <<none>>
- shift DEL Delete line <<none>>
- shift CLRHOME Move to end of document <none>>
- ARROW Move one char left/right <<none>>
- CLRHOME Move to top of window <<none>>
- BKSP Delete to left of cursor <<none>>
- shift BKSP same as normal backspace ...
- DEL Delete right of cursor <<none>>
- INSERT Toggle insert/overwrite <<none>>
-
- << Hide Application has the same effect as recieving a WM_ALLICONIFY
- message. Hide Object hides the currently selected object by removing
- it from the screen. Unhide will unhide all hidden objects.>>
-
- Required Keyboard Alternatives
-
- These keyboard alternatives must be used if the application implements the
- command. For example, if your application has a Find panel, you must pro-
- vide ^F as a way of bringing the panel up.
-
- However, if an application doesn't implement the particular functionality
- of an item (if it doesn't have a Find panel, for example), it can use the
- keyboard alternative (^F) for something else. Nevertheless, to pre-
- serve interapplication consistency, it's strongly recommended that you
- first try to use characters that don't overlap with those on this list.
-
-
- Keyboard Command Menu
- ------------------------------------------------------
- ^ = Define in Dictionary Text
- ^ ; Check Spelling Text
- ^B Bold (Unbold) Style
- ^D Find Previous Edit
- ^E Enter Selection Edit
- ^F Find Panel Edit
- ^G Find Next Edit
- ^I Italic (Unitalic) Style
- ^T Font Panel Style
- ^U Underline (un-underline) Style
- shift ^C Append to Clipboard Edit
- shift ^I Show Info File
- shift ^V Insert File Edit
- shift ^K Colors Style
- shift ^F Find & Replace Edit
-
- << note find next and find previous are also replace next and replace
- previous if you used find & replace instead of find. >>
-
- Recommended Keyboard Alternatives
-
- These keyboard alternatives must be used for a command if the command has a
- keyboard alternative. If not, the key can be used for some other command.
- For example, if the Copy Ruler command has no keyboard alternative, Com-
- mand-1 can be used as a keyboard alternative for another command.
-
-
- Keyboard Command Menu
- ------------------------------------------------------
- ^1 Copy Ruler Text
- ^2 Paste Ruler Text
- ^3 Copy Font Style
- ^4 Paste Font Style
- ^J Jump to Selection Edit
- ^L Redraw Screen Window
- ^M Miniturize window Window
- ^R Show Ruler Text
- shift ^B Set New Block-Start Edit
- shift ^E Set New Block-End Edit
- shift ^P Page Layout File
- shift ^S Save As File
- shift ^L Paste and Link Link
-
- <<note if redraw screen is supported, just turn on and off your menu with
- the menu bar command and then call form_dial for the whole screen
- and the AES will send all the proper redraw messages >>
- <<note Set New Block functions support multiple blocks if the programmer
- so desires by not deselecting the old block. To set a new block
- in this case, just use deselect all >>
-
-
- In Dialog Boxes
- ---------------
- Return - OK, Yes, etc...
- Undo - Cancel, Abort, etc...
-
- Other buttons should be available via ALT+<x> as in Let 'em Fly. Editable
- text fields should follow the standard as above.
-
-
-
-
-